1. Field of the Invention
This invention relates to the field of computer system architecture. More particularly, this invention relates to automatic I/O address conflict resolution for hardware adapters in a computer system.
2. Background of the Invention
A standard bus architecture is often used for coupling optional hardware adapters to a computer system. The optional hardware adapters can couple the computer system to peripheral components such as disk drives, networks and graphics devices. A CPU coupled to the standard bus configures and controls the adapters by accessing the internal registers of the adapters. Typically, the internal registers of the adapters are mapped into an I/O address space of the standard bus.
In computer systems using such a standard bus architecture, the internal registers of each adapter are mapped to separate portions of the I/O address space of the standard bus to prevent bus conflicts between the adapters. Typically, a default I/O address mapping for the adapters is preselected at the factory. The I/O address mapping may be programmed in hardware, or selected by switch settings or jumpers located on the adapter.
To install an adapter in a computer system, the default I/O address mapping may require change to prevent I/O address conflicts with other adapters already installed in the system. Ideally, a record of I/O address mapping for each adapter should be maintained to facilitate I/O address allocation for new adapters at installation time. In reality, such records are rarely maintained. Moreover, many standard bus architecture's provide no mechanism for automatically keeping track of the I/O addresses mapped to the adapters.
As a result, a hit or miss technique is often used, whereby I/O address mapping for a new adapter is arbitrarily selected at installation time. If the new adapter does not function properly with the arbitrary address mapping, then another I/O address mapping is selected. The hit or miss process repeats until the new adapter functions properly. The hit or miss technique becomes more cumbersome as the number of adapters installed in the system increases.
As will be described, the present method and apparatus automatically resolves I/O address conflicts among adapters coupled to a common bus in a computer system. The present method and apparatus detects address conflicts among the adapters, and modifies the I/O address mapping for the adapters to eliminate the conflicts.